const webpack = require('webpack')
const path = require('path')
const { merge } = require('webpack-merge')
const common = require('./webpack.common')

module.exports = merge(common, {
    mode: 'development',
    devServer: {
        contentBase: path.join(__dirname, 'dist'), // 告诉服务器内容的来源。仅在需要提供静态文件时才进行配置
        compress: true,  // 开启压缩
        port: 8080,  // 端口
        hotOnly: true,  // 热模块替换，保存页面状态
        hot: true,   // 自动刷新
        open: true,
        proxy: {
            '/api': {
                // http://localhost:8080/api/users => https://api.github.com/api/users
                target: 'https://api.github.com', // 代理域名
                pathRewrite: {
                    '^/api': '' // https://api.github.com/users 是服务器的，需要去掉 /api
                },
                // 不能使用 localhost:8080 作为 Github 的主机名
                changeOrigin: true
            }
        }
    },
    devtool: 'source-map',
    plugins: [
        new webpack.HotModuleReplacementPlugin() // 配合 devServer：hot 使用，自动刷新页面
    ]
})
